home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / clcadvfn.arc / CPP.TXT < prev    next >
Text File  |  1991-12-04  |  2KB  |  43 lines

  1. /* **+-------------------------------------------------------------+  +
  2.    **│ SYSTEM......: Calculate Advanced Function                   │  +
  3.    **│ MODULE......: Command Processing Program                    │  +
  4.    **│ PROGRAM.....: CLCADVFCNC        -CALLED BY: CLCADVFCN (CMD) │  +
  5.    **│ PROGRAMMER..: W.Allen          -SPECIFIED: W.Allen        │  +
  6.    **│ DATE........: 87/10/24          -MNT.REF..: *NONE           │  +
  7.    **│         +-------------------------------------+             │  +
  8.    **+---------│BASIC DESCRIPTION OF PROGRAM FUNCTION│-------------+  +
  9.    **│         +-------------------------------------+             │  +
  10.    **│ Sets up enviroment for calculation. Calls RPG program to    │  +
  11.    **│ write data to a file and then does a OPNQRYF on that file   │  +
  12.    **│ with the required function (*SIN *COS etc). Finally calls   │  +
  13.    **│ the RPG program to retrieve the result.                     │  +
  14.    **│                     +-------+                               │  +
  15.    **+---------------------<UPDATES>-------------------------------+  +
  16.    **│ PROGRAMMER/DATE     │MNT.REF│ NOTE/NOTE REF I.D./CHGD MARKS │  +
  17.    **+---------------------+-------+-------------------------------+  +
  18.    **│                     │       │                               │  +
  19.    **│                     │       │                               │  +
  20.    **+---------------------+-------+-------------------------------+  */
  21. PGM (&FNCTN &ARGUM &RESULT)
  22. DCL &FNCTN *CHAR 8
  23. DCL &ARGUM *DEC (15 5)
  24. DCL &RESULT *DEC (15 5)
  25. DCL &EXPSN *CHAR 30
  26. DCL &DUMMY *DEC (15 5)
  27. DCL &CVTARGUM *CHAR 15
  28. /*  ** REPLACE 'YOURLIB' WITH YOUR OWN LIBRARY NAME IN NEXT LINE */
  29. CRTDUPOBJ AFCTNPF YOURLIB *FILE QTEMP *N *NO /* CREATE TEMP FILE*/
  30. MONMSG CPF0000
  31. CHGVAR &CVTARGUM &ARGUM
  32. CHGVAR  %SST(&FNCTN 1 1) '%'
  33. CHGVAR &EXPSN (&FNCTN│<'('│<&CVTARGUM│<')')
  34. OVRDBF AFCTNPF AFCTNPF.QTEMP SHARE(*YES)
  35. CALL CLCADVFCNR ('A' &ARGUM &DUMMY)          /* ADD TO FILE  */
  36. OPNQRYF    FILE((AFCTNPF.QTEMP)) MAPFLD((RESULT +
  37.             &EXPSN)) +
  38.              OPTIMIZE(*FIRSTIO)
  39. CALL CLCADVFCNR ('R' &ARGUM &RESULT)         /* RETRIVE RESULT */
  40. CLOF AFCTNPF
  41. CLRPFM AFCTNPF.QTEMP
  42. ENDPGM
  43.